import request from '@/utils/request'
import {get, postForm, postJson} from "@/utils/api";
import qs from 'qs'
const module = 'user'

/**
 * listData 方法
 * @param params 形参: 实际的值取决于调用方法时传入的是什么, 这里我们期望 params = {...}
 * @returns {*}
 */
export function listData(params) {
  // return get(`/user/list`, params)
  // return request.post(`/user/list`, params) //使用这个Controller方法参数要加 @RequestBody(required = false)

  //如果不加@RequestBody(required = false) 且请求位get的话用一下方法
  return request.get('/user/list',{
    params,
    paramsSerializer:params =>{
      return qs.stringify(params,{indices:false})
    }
  })
}

export function changeUserStatus1(id, status) {
  return postForm(`/user/changeStatus`, {id, status})
}
export function changeUserStatus(params) {
  //TODO 表单请求 上面的是JSON请求
  return request.post(`/user/changeStatus`, qs.stringify(params), {
    headers: {'content-type': 'application/x-www-form-urlencoded'}
  });
}

/**
 * saveOrUpdate 方法
 * @param params 形参: 实际的值取决于调用方法时传入的是什么, 这里我们期望 params = {...}
 * @returns {*}
 */
export function saveOrUpdate(params) {
  return postJson(`/${module}/saveOrUpdate`, params);
}

export function deleteById(id, deleted) {
  return postForm(`/${module}/delete`, {id, deleted});
}
export function deleteById1(params) {
  return request.post(`/${module}/delete`, qs.stringify(params), {
    headers: {'content-type': 'application/x-www-form-urlencoded'}
  });
}

// export function login(data) {
//   return request({
//     url: '/vue-admin-template/user/login',
//     method: 'post',
//     data
//   })
// }
//
// export function getInfo(token) {
//   return request({
//     url: '/vue-admin-template/user/info',
//     method: 'get',
//     params: { token }
//   })
// }
//
// export function logout() {
//   return request({
//     url: '/vue-admin-template/user/logout',
//     method: 'post'
//   })
